Motion control system and X-ray measurement apparatus

ABSTRACT

A motion control system comprising a servo motor for moving a rotary stage; a scale provided on the rotary stage or on an object that moves integrally with the rotary stage; a plurality of reading heads for detecting the scale and outputting a signal; a data processing part for calculating an average value of rotation angle data based on each of the output signals from the reading heads and outputting the average value as a signal; and a servo amplifier for controlling the motor based on the signal representing the average value of the rotation angle. The motion control system can cause the rotary stage to rotate to a desired rotation angle to a high degree of accuracy using the reading heads.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a motion control system for moving amoving body by a desired amount of movement, e.g., a motion controlsystem such as a goniometer for causing a rotating body to rotate by adesired angle. The present invention also relates to an X-raymeasurement apparatus comprising the motion control system of abovedescription.

2. Description of the Related Art

Motion control systems for moving a moving body by a desired amount ofmovement are widely used in a variety of industrial sectors, such asmachine tools, motor vehicles, robots, measurement instruments, andother fields. For example, in the field of measurement instruments, agoniometer, which functions as a motion control system, is sometimesused to cause a rotary stage to rotate in an instance in which therotary stage, which functions as a moving body and which supports aspecimen to be measured, is caused to rotate by a desired angle.

A goniometer of such description has, e.g., an electric motor, whichfunctions as a power source for causing the rotary stage to rotate, andan angle detector for detecting the angle of rotation of the rotarystage. Conventionally known angle detectors of such description includethat disclosed in Patent Citation 1. In this angle detector, one angledata detection head, which functions as a reference; and a plurality ofnth degree error component detection heads are arranged around arotating disc; respective output data from each of the nth degree errorcomponent detection heads is applied to a predetermined computationformula to obtain an nth degree error component; the nth degree errorcomponent is subtracted from output data from the reference head;whereby the output data is calibrated and highly accurate angle datahaving minimal error is obtained. Patent Citation 1 also discloses atechnique in which a table, comprising the nth degree error componentsand angle values, is utilized according to need.

Patent Citation 1 does not mention methods for utilizing calibratedangle data that has been obtained as described above. One general methodof utilizing calibrated angle data of such description is a processingsystem such as that shown in FIG. 14, in which a common personalcomputer is used. In this system, a plurality of detection heads 102 athrough 102 d, including a reference detection head 102 a, are arrangedat appropriate angular intervals around an encoder disc 101 providedwith a calibration (i.e., a scale).

The encoder disc 101 is integrally connected to a rotating body (notshown), the rotating body being driven by a servo motor 109, which is anelectric motor. The encoder disc 101 rotates integrally with therotating body. The angle of rotation of the servo motor 109 iscontrolled by a servo amplifier 108. The servo amplifier 108 controlsthe angle of rotation of the servo motor 109, based on an angleinstruction signal S0 sent from a controller 107. The controller 107transmits an angle signal Sa to a second personal computer 110.

An analog output signal from each of the detection heads 102 a through102 d is converted into a digital signal by an analog-digital converter(ADC) 103, and is subjected to an n-fold increase in frequency by aninterpolator 104 (i.e., n-fold interpolation). Data after interpolationis subjected to predetermined computation by a personal computer 105,data for calibration is obtained, and the data for calibration istransmitted to the second personal computer 110. The personal computer110 creates a calibration table 106 based on the transmitted data.

The second personal computer 110 calibrates, using the calibration datastored in the angle calibration table 106, the angle signal Sa sent fromthe controller 107. The calibrated angle data is deemed to be thecorrect angle data. The correct angle data is reflected on, e.g., ascreen of a display 111, which is an output instrument. The method forutilizing the angle calibration table 106 shown in FIG. 14 is anexample, and a variety of other utilization methods can be envisaged.

In general, in an instance in which there are a plurality of angle dataprocessing systems shown in FIG. 14, even if the mechanical andelectrical constituent elements that form each of the systems arecompletely identical, characteristics of the assembled angle dataprocessing systems will be inconsistent. Therefore, calibration datastored in the angle calibration table 106 is different between each ofthe angle data processing systems.

Also, mechanical and electrical characteristics of the angle dataprocessing systems change over time. Therefore, as a rule, the contentof the angle calibration table 106 must be modified over time. Also, inan instance in which, as an option, an auxiliary load is placed on themoving body (e.g., a rotary stage) onto which the encoder disc 101 ismounted, the moving body may deform as a result of unbalanced load, andthe angle calibration table 106 must be re-created each time thisoccurs.

As described above, calibration data in the angle calibration table 106must be created for each angle control system, and even data for asingle control system must be modified over time. Management of theangle calibration table 106 is extremely troublesome.

A conventional angle detector, similar to the angle detector used in theangle data processing system shown in FIG. 14, is disclosed in PatentCitations 2 and 3. Patent Citation 3 is a U.S. patent specificationbased on Patent Citation 2. In these patent citations, there isdisclosed an angle data processing system in which one secondcalibration-reading head, which represents a reference, and a pluralityof first calibration-reading heads are arranged around a calibrationplate, which corresponds to an encoder disc. In this processing system,a difference in measurement between the single secondcalibration-reading head and each of the first scale reading heads isobtained; an average of the differences is obtained; a calibration curveis obtained based on the average of the differences; the calibrationcurve is used to calibrate the output data of the secondcalibration-reading head, which is the reference; and the calibrateddata used as the final angle data.

Patent Citations 2 and 3 do not mention methods for utilizing thecalibrated angle data obtained as described above. In general, an angledata processing system such as that described further above and shown inFIG. 14, i.e., a system for performing a process in which the anglesignal Sa from the controller 107 is calibrated using the anglecalibration table 106 and outputted when required, can be envisaged.

-   [Patent Citation 1] JP-A 2003-262518 (pages 2 and 3, FIGS. 1 through    4)-   [Patent Citation 2] JP-A 2006-098392 (pages 3 through 5, FIG. 1)-   [Patent Citation 3] U.S. Pat. No. 7,143,518

SUMMARY OF THE INVENTION

As described above, according to a conventional detection technique, inan instance in which a plurality of detection heads are used to detectan amount of movement to a high degree of accuracy, a referencedetection head is defined from among a plurality of detection heads;errors between the reference head and other heads are obtained; acalibration curve for the reference head is obtained based on theerrors; and detection results measured by the reference head iscalibrated using the calibration curve; whereby the correct amount ofmovement of a rotary stage is obtained.

However, according to this method, the procedure of processing themeasured data is complex, and it is difficult to perform computation ina short time. It is therefore difficult to utilize feedback control.Accordingly, it is not possible, after measured data is detected by aplurality of detection heads, to control the rotation of the rotarystage in an immediate manner (i.e., in real-time) based on the data.

With the above-mentioned problems regarding conventional apparatuses inview, an object of the present invention is to provide a motion controlsystem in which, when computationally obtaining a correct amount ofmovement using a plurality of detection heads, a processing procedure issimplified and processing time is shortened to allow feedback control,whereby a rotary stage or another moving body can be moved (e.g., causedto rotate) by a desired amount of movement (e.g., rotation angle) to ahigh degree of accuracy.

A motion control system according to the present invention is a motioncontrol system for moving a moving body by a desired amount of movement,the motion control system comprising:

moving-body-driving means for moving the moving body;

a scale provided on the moving body or on an object that movesintegrally with the moving body;

a plurality of scale-detecting means for detecting the scale andoutputting a signal;

computation means for calculating an average value of the amount ofmovement based on each of the output signals from the scale-detectingmeans, and outputting the average value of the amount of movement as asignal; and

control means for controlling the moving-body-driving means based on thesignal representing the average value of the amount of movement.

In the present invention, information from the scale-detecting means isaveraged, error is removed, information from which error has beenremoved as described above is transmitted to the control means, andfeedback control is performed. In the configuration described above, themoving-body-driving means may be a servo motor, and in some instances,may be a stepping motor, DC motor, ultrasonic motor, linear motor, orsimilar means.

The moving body is, e.g., a rotating body, a linearly moving body, oranother moving body. The amount of movement refers to a rotation anglein an instance of a rotating body, and to an amount of linear movementin an instance of a linearly moving body. An example of a rotating bodyis a rotary stage that rotates about its own center axis. An example ofa linearly moving body is a moving body that uses a ball screw oranother screw axis. An example of a linearly moving body is a rotor of alinear motor. In this instance, the linear motor functions as themoving-body-driving means. In the instance of a linearly moving body,the effect of mechanical error and similar error is simply detectedusing a plurality of detectors. Possible causes of errors include errorin mounting the scale or machining error.

According to the present invention, the computation means calculates theaverage value of the amount of movement based on output signal from theplurality of scale-detecting means. Therefore, the amount of movementcan be obtained to a higher degree of accuracy compared to an instancein which only one scale-detecting means is present. The calculationperformed in this instance is a simple one in which merely an averagevalue is obtained, and can be performed in a short period of time.Furthermore, the computation means outputs the result of thiscalculation as a single signal. Therefore, this output signal can beused to perform feedback control. The moving body can thereby be movedby a desired amount of movement to a high degree of accuracy.

In the motion control system according to the present invention, thecomputation means preferably has software for performing interpolationon the signal outputted from the scale-detecting means. A configurationof such description makes it possible to perform a computation processusing a plurality of scale-detecting means at a higher speed compared toan instance in which an interpolation unit is configured using dedicatedhardware; to realize feedback control; and to control the amount ofmovement to a high degree of accuracy.

Also, having the interpolation be software-enabled as opposed tohardware-enabled makes it possible to minimize the cost of the entiremotion control system.

In the motion control system according to the present invention, thecomputation means preferably comprises a computer having a configurationin which a program and data are stored in separate cache memories, and aprogram bus and a data bus are separately provided. A configuration ofsuch description makes it possible to achieve an even faster computationprocess. A computer of such configuration is known as a Harvard-typecomputer, and is considered distinct from a Neumann-type computer.

The computation means preferably performs computation control using areduced instruction set computer (RISC)-type central processing unit(CPU). A RISC-type CPU processes commands that are simpler than acomplex instruction set computer (CISC)-type CPU, and an even fastercomputation process can be achieved. Some CISC-type CPUs are also ableto perform high-speed processing, and a CISC-type CPU of suchdescription can also be used.

In the motion control system according to the present invention, thetime between the computation means receiving the output from thescale-detecting means and the computation means outputting thecalibrated angle data signal is preferably 20 μs or less. Aconfiguration of such description makes it possible to realize fullclosed loop control in a reliable manner.

In the motion control system according to the present invention, it ispossible to use a configuration in which the moving body is a rotatingbody; the scale is provided directly around the moving body or providedon an object that moves integrally with the moving body; and thescale-detecting means is provided around the rotating body. Aconfiguration of such description makes it possible to control therotation angle of the rotating body.

In the motion control system according to the present invention, it ispossible to use a configuration in which the scale-detecting meansinclude, as a single group, n scale-detecting means arranged at regularintervals (where n is 2, 3, 5, or another prime number); have a datastorage table in which error components of a higher order than annth-order error component of the group are stored; and combine angledata obtained by the computation means with an error component stored inthe data storage table.

A configuration of such description makes it possible to factor inhigher-order Fourier error components and obtain a highly accurate angledata.

In the motion control system according to the present invention in whichthe data storage table of the above description is used, thescale-detecting means can be configured so as to include a plurality ofgroups of scale-detecting means with different values of n. It therebybecomes possible to detect error of an even higher order.

Each of the groups of the scale-detecting means may have at least onescale-detecting means that also belongs to another group. It therebybecomes possible to reduce the number of scale-detecting means, savespace, and reduce cost.

In the motion control system according to the present invention, theperiodic wave signal may be an AB signal that includes an A-phase, whichis a cosine wave; and a B-phase, which is a sine wave; or an ABZ signalthat includes, in addition to the A-phase and the B-phrase, a Z-signalthat represents a reference position.

In view of the fact that an ideal cosine wave and an ideal sine wave areshifted from each other by 90° in phase, the periodic wave signal may bean AB signal that includes an A-phase and a B-phase which are waveshaving different phase from each other.

Next, an X-ray measurement apparatus according to the present inventionis an X-ray measurement apparatus having a goniometer for causing anX-ray source and an X-ray detector to rotate by a predetermined angle;wherein the goniometer has a first motion control system configured fromthe motion control system according to any of the configurationsdescribed above, and a second motion control system configured from themotion control system according to any of the configurations describedabove, the moving body included in the first motion control system andthe second motion control system is a rotary stage that rotates about anaxis passing through the rotary stage; the X-ray source is supported bythe rotary stage included in the first motion control system; and theX-ray detector is supported by the rotary stage included in the secondmotion control system.

According to the X-ray measurement apparatus of such description,interpolation is performed using software, and the computation processusing a plurality of the scale-detecting means is performed at a highspeed, therefore making it possible to realize feedback control ineffect, and to control the rotation angle of the rotary stage to a highdegree of accuracy.

Also, interpolation is performed using software, instead of hardware,making it possible to minimize the cost of the entire X-ray measurementapparatus.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing an embodiment of the motion controlsystem according to the present invention;

FIG. 2 is a drawing showing a plurality of configurations of arrangementof scale-detecting means;

FIG. 3 is a graph showing an example of periodic wave signals detectedby the scale-detecting means;

FIG. 4 is a block diagram showing an internal configuration of a dataprocessing part, which is a major part of FIG. 1;

FIG. 5 is a block diagram functionally illustrating interpolation, whichis major software realized by the circuit shown in FIG. 4;

FIG. 6 is a block diagram functionally illustrating an angle computationprocess, which is other major software realized by the circuit shown inFIG. 4;

FIG. 7 is a block diagram functionally illustrating an angle computationprocess used in another embodiment of the motion control systemaccording to the present invention;

FIG. 8 is a block diagram functionally illustrating an angle computationprocess used in another embodiment of the motion control systemaccording to the present invention;

FIG. 9 is a block diagram functionally illustrating an angle computationprocess used in another embodiment of the motion control systemaccording to the present invention;

FIG. 10 is a drawing showing the error in the rotation angle in order toillustrate the embodiment shown in FIG. 9;

FIG. 11 is a block diagram showing another embodiment of the motioncontrol system according to the present invention;

FIG. 12 is a block diagram showing another embodiment of the motioncontrol system according to the present invention;

FIG. 13 is a front view showing an embodiment of an X-ray measurementapparatus according to the present invention;

FIG. 14 is a block diagram showing a conventional example of the motioncontrol system according to the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

A motion control system according to the present invention will now bedescribed based on embodiments. The motion control system according thepresent invention is in no way limited to the following embodiments. Thefollowing descriptions are provided with reference to the accompanyingdrawings. In order to show characteristic portions in a manner that iseasy to understand, constituent elements may be shown in the drawings ata scale that is different from reality.

First Embodiment of Motion Control System

FIG. 1 shows an embodiment of a motion control system according to thepresent invention. This motion control system 1 is an apparatus forcontrolling a rotation angle (i.e., amount of movement) of a rotarystage 2, which functions as a moving body and which rotates about anaxis X0, to a high degree of accuracy. The axis X0 extends in adirection orthogonal to the plane of the diagram (i.e., in a directionthat penetrates the plane of the diagram) in FIG. 1. A plurality ofscales (i.e., calibrations) 3 are provided at regular intervals aroundthe rotary stage 2 as shown in the partially expanded diagram (a). Thescales 3 are formed using a marking apparatus having an appropriateconfiguration. In the present embodiment, the scales 3 are formeddirectly on the rotary stage 2, which functions as the moving body.Alternatively, an encoder disc may be connected to the rotary stage 2,and scales provided on the encoder disc.

<Overall Configuration of Motion Control System>

The motion control system 1 comprises a servo motor 4, which functionsas moving-body-driving means, and which is adapted for driving andcausing the rotation of the rotary stage 2 functioning as the movingbody rotary stage; a servo amplifier 6, which functions as control meansfor controlling the rotation angle of the servo motor 4; and acontroller 7 for feeding an angle instruction signal S0 to the servoamplifier 6. The angle instruction signal S0 is a signal for indicatingthe angle by which the rotary stage 2 is to rotate about the axis X0.

The motion control system 1 also has a plurality (8 in the presentembodiment) of reading heads 8 a through 8 h, which function asscale-detecting means for reading the scales 3 on the rotary stage 2;and a data processing part 9, which functions as computation means forreceiving output from each of the reading heads and outputting arotation angle signal S1. The rotation angle signal S1 is a signalshowing the rotation angle of the rotary stage 2; and is an angle signalafter computation processing, obtained by performing a predeterminedcalculation on a measured rotation angle that has been detected by eachof the reading heads 8 a through 8 h based on the scales 3.

Each of the reading heads 8 a through 8 h is configured from, e.g., areflection-type light sensor having a configuration in which light isemitted from a light-emitting element, reflected by the scales 3, andreceived by a light-receiving element. It shall be apparent that atransmission-type light sensor or another sensor having an appropriatestructure may also be used according to the format of the scales 3.

The rotation angle signal S1 after computation processing by the dataprocessing part 9 is sent to a control signal input terminal of theservo amplifier 6. The servo amplifier 6 establishes as a target valuethe angle instruction signal S0 sent from the controller 7, establishesas a control condition value the rotation angle signal S1 aftercomputation processing, and feeds a driving signal to the servo motor 4.The rotary stage 2 thereby rotates, e.g., in the direction shown byarrow A, by an angle that is correctly established following computationprocessing.

<Full Closed Loop Control>

Rotation control methods that are generally known include open-loopcontrol, semi closed loop control, and full closed loop control.Open-loop control is a method in which an input pulse fed to a pulsemotor (i.e., a stepping motor), which functions as a driving source, iscontrolled, thereby controlling the amount of movement (e.g., rotationangle) of a moving body driven by the pulse motor.

Semi closed loop control is a method in which, instead of informationrelating to the amount of movement (e.g., rotation angle) of the movingbody (e.g., rotating body) being directly obtained, rotation informationis obtained from an output shaft of a servo motor, which functions as adriving source, or information relating to the amount of movement isobtained from a power transmission system linking the output shaft ofthe servo motor to the moving body; the information relating to theamount of movement is fed back to the servo motor; and the amount ofmovement of the moving body is controlled.

Full closed loop control is a method in which the amount of movement ofa moving body (e.g., a rotary stage) to be controlled is directlydetected; the information relating to the amount of movement is fed backto the servo motor; and the amount of movement of the moving body iscontrolled.

In the present embodiment, the rotation angle of the rotary stage 2 tobe controlled is directly detected using the reading heads 8 a through 8h; the rotation angle information thus detected is fed back to the servoamplifier 6; and the rotation angle of the rotary stage 2 is controlled.Therefore, in the present embodiment, the control that is performed isbased on full closed loop control.

<Head Layout>

FIG. 1 is a schematic illustration of the state of arrangement of theeight reading heads 8 a through 8 h. In reality, the reading heads 8 athrough 8 h are arranged around the rotary stage 2 according to acombination of arrangements of reading heads arranged in regularintervals, the number of reading heads in each arrangement being 2, 3,and 5, which are prime numbers as shown in FIG. 2F. Specifically, thereading heads 8 a through 8 h are arranged in a combination of threegroups: (1) a group comprising two heads 8 a, 8 f arranged at regularangular intervals of 180°; (2) a group comprising three heads 8 a, 8 d,8 g arranged at regular angular intervals of 120°; and (3) a groupcomprising five heads 8 b, 8 c, 8 e, 8 g, 8 h arranged at regularangular intervals of 72°.

Using a head arrangement of such description and performing thecalculation for angle calibration as described further below makes itpossible to perform a calibration up to a high-order Fourier componentexcluding integer multiples of the lowest common multiple of the numberof heads arranged at regular angular intervals, and to detect therotation angle to a high degree of accuracy. Each of the reading heads 8a through 8 h outputs periodic wave signals with a phase difference of90° with respect to each other; the wave signals comprising an A-phasewave, which is a cosine wave, and a B-phase wave, which is a sine wave;as shown in FIG. 3. The scales 3 shown in FIG. 1( a) include a mark usedto generate a reference signal. A head 8 a through 8 h that reads thereference mark outputs a reference angle signal. This reference anglesignal shall hereafter be referred to as a Z-signal.

<Data Processing Part>

The data processing part 9 shown in FIG. 1 has sixteen differentialamplifiers 11 (eight of which are shown in FIG. 4), an analog selector12, and a one-chip-type CPU 13, as shown in FIG. 4. In the presentembodiment, an SH Microcomputer, which is a 32-bit RISC microcomputermanufactured by Renesas Electronics Corporation, is used as the 1-chiptype CPU 13. Although a 1-chip type CPU 13 is used in the presentembodiment, an application specific integrated circuit (ASIC) or alarge-scale field programmable gate array (FPGA) may be used instead.Nevertheless, the 1-chip type CPU is the most inexpensive of thoselisted above, and beneficial in terms of cost.

The 1-chip type CPU 13 is internally provided with functional modulescomprising an 8-input high-speed analog-to-digital (A/D) converter 14; atimer unit 16; read-only memory (ROM) 17, random access memory (RAM) 18,non-volatile memory 19; a synchronous serial communication part (SPI)21; and an asynchronous serial communication part (SCI) 22.Specifically, the 1-chip type CPU 13 is integrated into a single largescale integrated circuit (LSI), other than a driver/receiver 23 for thedata processing part, and the analog amplifiers 11.

Known computer configurations include Harvard type and Neumann type. AHarvard-type computer is a computer having a configuration in which aprogram bus and a data bus are separate, and cache memory for storingprograms and cache memory for storing data are separate. In contrast, aNeumann-type computer is one having a configuration in which a programbus and a data bus are shared, and programs and data are stored in thesame memory. A Harvard-type computer has a simple configuration and isable to perform computation processes at a high speed, and is thereforesuitable for the present embodiment, which aims to perform calculationin real time.

Sensor output 23 outputted along 8 channels from the eight reading heads8 a through 8 h shown in FIG. 1 is amplified by the sixteen differentialamplifiers 11, selected by the analog selector 12 to a limit of eightinputs, and inputted into the 1-chip type CPU 13.

<Software>

Software for performing interpolation, and software for calculating thecalibrated angle data based on the measured angle data detected by theeight reading heads 8 a through 8 h are stored in the ROM 17 in the1-chip type CPU 13 shown in FIG. 4. Interpolation is a process in whichthe frequency of each of the A-phase and B-phase periodic wave signalsshown in FIG. 3 outputted from the reading heads 8 a through 8 h issubjected to an n-fold increase (where n is an integer). Thisinterpolation is performed in order to increase the reading accuracy. Adescription will now be given for interpolation software and anglecomputation software.

<Interpolation>

In the present embodiment, the interpolation is performed completelyusing software processing. FIG. 5 shows functions of the interpolationsoftware as a block diagram. FIG. 5 shows the flow for a single input,but a plurality (a maximum of eight in the present embodiment) areperformed by time division overall.

Input data S2 for the interpolation comprises two items of digital data,obtained as a result of performing analog-to-digital (A/D) conversion onA-phase and B-phase analog data with a phase difference of 90° withrespect to each other (see FIG. 3) using the A/D converter 14 (see FIG.4). The inputted data is subjected to overflow detection P1. Thisoverflow detection P1 is detection of a state of excessive input thatexceeds the scope of conversion by the A/D converter.

In interpolation, a difference in gain between the sine input and thecosine input; offset; and the phase difference between the sine inputand the cosine input are extremely important in maintaining accuracy.For a 1000-fold interpolation, e.g., the difference in gain between thesine input and the cosine input must be 0.89% or less; the offset errormust be 0.31% or less; and the phase difference between the sine inputand the cosine input must be 0.18% or less. A process in which theabove-mentioned three types of errors are calibrated is performed insteps P2 through P4. With regards to offset and gain, the plus-side andminus-side peaks of each of the sine data and the cosine data are held(step P6), and calibration is automatically performed while averagingalong the time axis is performed and data renewed.

Next, arctangent processing (step P5) is performed on the sine data andthe cosine data, and the interpolated angle is calculated.

In the arctangent processing, the phase angle is calculated using thefollowing formulaθ=tan⁻¹(B/A)where A=cosine data and B=sine data.

For example, for 1000-fold interpolation, the calculation results arenormalized to a unit obtained by dividing 360° by 1000, and outputted.Error detected in the overflow detection P1 and the peak hold process P6is outputted to the exterior.

In the arctangent processing, an arctangent value is calculated based onthe value of A and the value of B according to the formula above, and isdesignated as the value of θ. In the software used in the presentembodiment, a table of arctangents is readied in advance, and the valueof θ corresponding to the value of A and the value of B is extractedfrom the table, instead of a formula computation of the arctangentactually being performed every time the flow is at the step in which thearctangent value is calculated. It is thereby possible to significantlyreduce the processing time for arctangent processing.

In order to achieve full closed loop control in the motion controlsystem 1 shown in FIG. 1, the time between the data processing part 9receiving the measured angle signal from each of the reading heads 8 athrough 8 h and the data processing part 9 computationally obtaining andoutputting the calibrated angle signal S1, i.e., the system delay, mustbe within a predetermined time. If computation that is performed exceedsthis predetermined time, it becomes impossible to perform substantivefull closed loop control, due to the inertial force of the mechanicalsystem surrounding the rotary stage 2 and other effects. Generally, fullclosed loop control is possible if the system delay is 20 μs or less.

In general, possible factors that define the system delay include delaydue to a low-pass filter (LPF) for increasing the signal-to-noise ratioof a sine wave, and delay for performing interpolation. Delay due to alow-pass filter is normally about 10 μs. Therefore, if the time taken toperform interpolation can be limited to 10 μs or less, it becomespossible to realize a system delay of 20 μs or less at which full closedloop control is possible.

According to the conventional interpolation process using hardware shownin FIG. 14, it is difficult to limit the processing time to 10 μs orless. In the present embodiment, the interpolation is performed, usingsoftware, within the data processing part 9 configured using amicrocomputer; and computation of the arctangent in the interpolationprocess is performed using a table. It is therefore possible to limitthe time taken for the interpolation process to 10 μs or less. As aresult, it is possible to limit the system delay to 20 μs or less, andto realize full closed loop control.

<Angle Computation Processing by Automatic Calibration>

FIG. 6 shows functions of an angle computation process, realized usingthe CPU 13 (see FIG. 4), as a block diagram. In the angle computationprocess, each of Ch1 interpolation step P11, Ch2 interpolation step P12,Ch3 interpolation step P13, Ch4 interpolation step P14, Ch5interpolation step P15, Ch6 interpolation step P16, Ch7 interpolationstep P17, and Ch8 interpolation step P18 represents an interpolationstep in relation to an output signal from the reading head 8 a, 8 b, 8c, 8 d, 8 e, 8 f, 8 g, and 8 h shown in FIG. 2F, respectively. In thepresent embodiment, an arbitrary single reading head, e.g., the readinghead 8 a, is considered a reading head used as a reference forevaluating head positions and for resetting.

“Reading head used as a reference” described here refers to the readinghead being used as a reference when evaluating the position ofarrangement of each of the reading heads 8 a, 8 b, 8 c, 8 d, 8 e, 8 f, 8g, and 8 h or when generating a reset signal, and does not refer to anysingle reading head being considered as a reference reading head whenperforming a computation process in relation to the rotation angle ofthe rotary stage 2.

In the present embodiment, each of the reading heads 8 a, 8 b, 8 c, 8 d,8 e, 8 f, 8 g, and 8 h is used independently as a basis for computation,and no single reading head is defined as a basis for computation. Thereference reading head according to the present embodiment may be anarbitrary reading head other than the reading head 8 a.

With regards to angle data obtained by interpolation in each of theabove steps, a difference in relation to the immediately preceding datais obtained and added respectively to a counter P21, P22, P23, P24, P25,P26, P27, or P28 corresponding to each of the data. The output obtainedfrom each of the counters as a result of the addition is Count1, Count2,Count3, Count4, Count5, Count6, Count7, and Count8, respectively.

As described further above, the eight reading heads according to thepresent embodiment comprise a combination of three groups: a groupcomprising two heads 8 a, 8 f arranged at regular angular intervals of180°; a group comprising three heads 8 a, 8 d, 8 g arranged at regularangular intervals of 120°; and a group comprising five heads 8 b, 8 c, 8e, 8 g, 8 h arranged at regular angular intervals of 72°.

In the computation step P31, an average value of each of the groups isobtained; an average value of each of the resulting average values isobtained; and the following count value Count_c is calculated.Count_(—)c=[{(Count1+Count5)/2}+{(Count1+Count3+Count7)/3}+{(Count2+Count4+Count5+Count6+Count8)/5}]/3  (Formula1)

A weighted average may also be obtained instead of a simple average.

The count value Count_c described above is the correct angle data forthe rotary stage 2 (FIG. 1) that has been calibrated. Count_c isoutputted as the rotation angle signal S1 shown in FIG. 1, and isconsidered a control condition value for feedback control.

All of the count values corresponding to the reading heads are reset bya Z-signal from a specific reading head, e.g., the reading head 8 acorresponding to Count1.

A difference Δcount between Count1 of the reading head 8 a and thecalibrated Count_c, i.e., the amount of calibration, is obtained byΔcount=Count_(—) c−Count1This difference Δcount is used when evaluating the characteristics orposition of arrangement of individual reading heads.

The calibrated angle data, which is a result of the computation processaccording to the above-mentioned Formula 1, is outputted to theexterior. Also, the output representing the difference output Δcountwith respect to the reading head 8 a is sent to an ABZ generation moduleP32. The ABZ output thereby corresponds to a calibrated output.

Since the motion control system 1 according to the present embodiment isconfigured as above, in FIG. 1, the angle instruction signal S0 istransmitted from the controller 7 to the servo amplifier 6; the servoamplifier 6 transmits a driving signal to the servo motor 4 according tothe angle instruction signal S0; and the rotary stage 2 is therebydriven by the servo motor 4 and caused to rotate about the axis X0 asshown by arrow A towards an indicated target angle. During thisrotation, the scales 3 are read by each of the reading heads 8 a through8 h, and the measured angle data is outputted by an output terminal ofeach of the reading heads 8 a through 8 h as periodic wave signalshaving an A-phase (i.e., a cosine wave) and a B-phase (i.e., a sinewave) such as those shown in FIG. 3. The output from each of the readingheads includes the Z-signal, which represents a reference point, i.e., azero point.

The measured angle data from each of the reading heads is subjected toanalog-to-digital conversion by the A/D converter 14 included in the CPU13 shown in FIG. 4; subjected to an interpolation process by theinterpolation software shown in FIG. 5; and subjected to, e.g., a1000-fold frequency interpolation. Each of the measured angle data thathas been subjected to interpolation is subjected to computationaccording to the above-mentioned Formula 1 by the computation processsoftware shown in FIG. 6. As a result, the calibrated angle data Count_cis obtained, and Count_c is transmitted to a control signal inputterminal of the servo amplifier 6 as the rotation angle signal S1 shownin FIG. 1.

The servo amplifier 6 controls the signal inputted into the servo motor4 according to the transmitted rotation angle signal S1, and controlsthe rotation angle of the rotary stage 2. Thus, feedback control isperformed according to a full closed loop control method, and the rotarystage 2 rotates to the desired rotation angle at a high degree ofaccuracy.

In the present embodiment, the time between the data processing part 9receiving the measured angle signal from each of the reading heads 8 athrough 8 h and the data processing part 9 outputting the calibratedangle signal S1, i.e., the system delay, is limited to 20 μs or less.Specifically, real-time angle computation process is performed.Therefore, the full closed loop control shown in FIG. 1 can besubstantively realized.

According to an experiment performed by the inventors, in an instance inwhich feedback control is performed solely using one reading head 8 ashown in FIG. 1 and using measured angle detection data (i.e., dataincluding error) without performing angle calibration computation, anerror accuracy of only ±( 2/1000)° could be obtained. It was found thataccording to the present embodiment in which, in contrast, a real-timeangle computation process is realized, whereby the correct angle data iscomputationally obtained from measured angle data obtained from aplurality of reading heads and feedback control is performed based onthe calibrated angle data, an error accuracy of ±( 2/10000)°, i.e., anaccuracy that is ten times greater than in a conventional instance inwhich the angle computation process is not performed, can be obtained.

Also, in the present embodiment, the data processing part 9 isconfigured using an inexpensive microcomputer, and the interpolation isrealized using software in the microcomputer instead of dedicatedhardware. It is therefore possible to minimize the cost of the entiremotion control system.

Also, the data processing part 9 used in the present embodiment is aRISC-type, in which processing commands are simpler and with whichprocessing can be performed at a higher speed than a CISC-type; and is aHarvard-type, in which the program bus and the data bus are separate andwith which processing can be performed at a high speed. The speed of thecomputation process is thereby extremely high, and it is possible toachieve real-time computation process in which the system delay is 20 μsor less, therefore making real-time feedback control possible.

Second Embodiment of Motion Control System

In the above embodiment, in FIG. 6, the value of Δcount is obtained incomputation step P31 and transmitted to the ABZ generation module P32,and a calibrated ABZ output is obtained. However, it is also possible togenerate ABZ output directly from the calibrated output from thecomputation step P31 as shown in FIG. 7.

Third Embodiment of Motion Control System

Means for reducing the number of reading heads and calibrating forhigher-order inaccuracies include the following method. Specifically,eight channels of reading heads are mounted, and the difference incalibration data for the eight channels is measured and stored in thememory. Since the capacity of the memory is finite, the difference isstored in units obtained by dividing the scale by a factor on the orderof tens of thousands.

Next, the number of reading heads is reduced to, e.g., four; thecalibration data for the reading heads is measured again; a differencebetween the calibration data for the eight channels is calculated; andthe difference is stored in the non-volatile memory. If the positions ofthe reduced reading heads are a subset of the eight channels, thedifference can be extracted simultaneously when measurement isperformed. During calibration, a calibration is performed in real timeusing the stored data representing the difference, i.e., within aprocessing time in which full closed loop control can be realized, ormore specifically, within a time of 20 μs or less.

Fourth Embodiment of Motion Control System

In the embodiment described above, eight reading heads 8 a through 8 hare arranged around the rotary stage 2 according to a combination ofarrangements of reading heads arranged in regular intervals, the numberof reading heads in each arrangement being 2, 3, and 5, which are primenumbers as shown in FIG. 2F. In the present embodiment, four readingheads are used instead of eight. With regards to the arrangement of thefour reading heads, as shown in FIG. 2C, the four reading heads 8 athrough 8 d are arranged around the rotary stage 2 according to acombination of arrangements of reading heads arranged in regularintervals, the number of reading heads in each arrangement being 2 and3, which are prime numbers. Specifically, the reading heads 8 a through8 d are arranged in a combination of two groups: a group comprising twoheads 8 a, 8 c arranged at regular angular intervals of 180°; and agroup comprising three heads 8 a, 8 b, 8 d arranged at regular angularintervals of 120°.

The basic overall configuration of the motion control system used in thepresent embodiment is identical to the configuration shown in FIG. 1.However, the number of the reading heads is reduced from eight to four,or four of the eight reading heads are used. Also, the basicconfiguration within the data processing part 9 is identical to theconfiguration shown in FIG. 4. However, in the present embodiment, thenumber of the reading heads is reduced from eight to four, or four ofthe eight reading heads are used.

Interpolation software identical to the interpolation software used inthe first embodiment shown in FIG. 5 is stored in the ROM 17. Each angledata that has been interpolated is subjected to computation processingby the angle computation process software shown in FIG. 8. Specifically,an average count value Count_c is calculated according to the followingformula by a computation step P33.Count_(—) c=[{(Count1+Count3)/2}+{(Count1+Count2+Count4)/3}]/2  (Formula2)

Fifth Embodiment of Motion Control System

In general, in an instance in which n reading heads are arranged atregular intervals and angle detection is performed, when an average ofthe measurements is obtained, calibration is performed, and an angle iscalculated, the nth order Fourier component and higher-order Fouriercomponents corresponding to integer multiples of n cannot be calibrated,and the corresponding Fourier components remain unknown as errors.

For example, when the true angle shown by the scales provided to therotary stage is represented by curve A in the graph shown in FIG. 10,curve A occurs in accordance with formation error when the scales areformed on the rotary stage. This formation error can be identified whenthe scales are created.

Next, curve B represents the calibrated rotation angle data when theangle is detected in, e.g., computation step P31 shown in FIG. 6 usingscales created as described above, e.g., using five reading headsarranged in regular intervals. Curve B and curve A generally includeportions that do not match. In other words, curve A includes errorcomponents.

Extracting only these error components results in Curve C. The errorsuch as that shown by curve C occurs as a result of the fifth-orderFourier component and its corresponding higher-order (e.g., 10^(th)order, 15^(th) order, etc.) Fourier components remaining without beingcalibrated. Curve C can be obtained by performing an actual measurementin advance.

In the present embodiment, motion control systems, respectivelycomprising 1 through n reading heads arranged around the rotary stage 2at regular angular intervals, are individually created; calibration datasuch as curve C shown in FIG. 10 is obtained with respect to individualmotion control systems; and the calibration data is stored as acalibration table in the non-volatile memory 19 shown in FIG. 4 for eachvalue of n.

Next, predetermined computation is performed and Count_c (i.e., curve B)is obtained in computation step P31 shown in FIG. 9. Then, calibrationdata for the corresponding value of n is read from the calibration tablestored in the non-volatile memory 19, and calibration data and Count_care combined, whereby it is possible to obtain an angle signal that hasbeen subjected to absolute calibration in which higher-order errorcomponents are factored in. The rotation angle can be controlledaccording to this calibrated angle signal. In this instance, it ispossible to perform rotation control to an extremely high degree ofaccuracy.

In an instance in which two reading heads are arranged at equiangularintervals, such as in FIG. 2A, calibration data for n=2 is used; in aninstance in which three reading heads are arranged at equiangularintervals, such as in FIG. 2B, calibration data for n=3 is used; in aninstance such as in FIG. 2C in which four reading heads are arranged atangular intervals, calibration data for n=2 and n=3 are used; in aninstance in which five reading heads are arranged at equiangularintervals, such as in FIG. 2D, calibration data for n=5 is used; in aninstance such as in FIG. 2E in which six reading heads are arranged atangular intervals, calibration data for n=2 and n=5 are used; and in aninstance such as in FIG. 2F in which eight reading heads are arranged atangular intervals, calibration data for n=2, n=3, and n=5 are used.

In the instance shown in FIG. 2C, a single reading head 8 a is a readinghead that is shared between the group having two reading heads and thegroup having three reading heads. However, a configuration is alsopossible in which no reading head is shared between each of the groups.In such an instance, the final number of reading heads is five. In theinstance shown in FIG. 2F, the reading head 8 a is shared between thegroup having two reading heads and the group having three reading heads;and the reading head 8 g is shared between the group having threereading heads and the group having five reading heads.

Setting a configuration in which one or more reading heads are sharedbetween a plurality of groups makes it possible to reduce the number ofreading heads to be used, and is therefore beneficial in terms of spaceand is also beneficial in terms of cost.

Sixth Embodiment of the Motion Control System

FIG. 11 shows another embodiment of the motion control system. Themotion control system 30 according to the present invention has, inaddition to a function of controlling the motion of the rotary stage 2so that the rotation angle of the rotary stage 2 is a given angle asdescribed above, a function for detecting an amount of deflection of arotation axis of the rotary stage 2. This will be described in detailbelow.

A plurality (four in the present embodiment) of reading heads 8 a, 8 b,8 c, and 8 d are arranged at regular angular intervals around the rotarystage 2, which functions as a moving body. The interpolation describedusing FIG. 5 and the angle computation process shown in FIG. 8 areperformed using the reading heads.

Next, when A represents the value detected by the reading head 8 a; Brepresents the value detected by the reading head 8 c, which is disposedopposite the reading head 8 a; C represents the value detected by thereading head 8 b; and D represents the value detected by the readinghead 8 d, which is disposed opposite the reading head 8 b, each of adisplacement amount ΔX in the lateral direction (i.e., horizontaldirection) and a displacement amount ΔY in the upright direction (i.e.,vertical direction) is detected using the following formulae.ΔX=(A−B)/2 ΔY=(CΔD)/2  (Formula 3)

In an instance in which the rotary stage 2 is rotating, all of thereading heads 8 a, 8 b, 8 c, and 8 d detect the amount of movement inthe same direction. In contrast, if a parallel deflection is present inthe center axis X0, the detected value of the reading head 8 a and thedetected value of the reading head 8 b, which are disposed opposite eachother in the upright (Y) direction, will be in opposite directions withrespect to each other. Also, the detected value of the reading head 8 band the detected value of the reading head 8 d, which are disposedopposite each other in the lateral (X) direction, will also be inopposite directions with respect to each other. Therefore, for both theupright (Y) direction and the lateral (X) direction, subtracting theamount of deviation A, B, C, and D and dividing by two as shown inFormula 3 cancels out the rotation amount, and makes it possible toobtain the amount of parallel deflection. Thus, in addition to it beingpossible to output accurate rotation angle data S1, it also becomespossible to output a center deflection amount S4 of the axis.

Example of Modification

The data S4 representing the amount of center deflection (i.e., theamount of parallel deflection) of the axis, obtained as described above,can be transmitted to a piezo stage controller 26, as in a motioncontrol system 31 shown in FIG. 12. The piezo stage controller 26individually controls the operation of an x-direction piezo actuator 27a and a y-direction piezo actuator 27 b mounted on the rotary stage 2.Each of the piezo actuators 27 a, 27 b is an element for controlling avoltage applied to a piezo element (i.e., a piezoelectric element) tocause a mobile member onto which the piezo element is mounted to moveaccording to the impressed voltage.

The piezo stage controller 26, which has received a signal S4representing the center deflection amount including the Δx data and theΔy data shown in the above-mentioned Formula 3, transmits a signal forsupplementing Δx to the x-direction piezo actuator 27 a, and transmits asignal for supplementing Δy to the y-direction piezo actuator 27 b. Itthereby becomes possible to calibrate for the center deflection of therotary stage 2 using the piezo stage controller 26 and the piezoactuators 27 a, 27 b in real time. Real time in this instance refers toa time in which full closed loop control can be realized using the servoamplifier 6 based on the rotation angle data outputted from the readingheads 8 a through 8 d, or specifically, a time of 20 μs or less.

Means for causing the rotary stage 2 to move by a minute distance inorder to factor in the axis deflection are not limited to the meansdescribed above in which piezo actuators are used; an appropriateconfiguration can be used according to purpose or requirement.

First Embodiment of X-Ray Measurement Apparatus

FIG. 13 shows an embodiment of a X-ray measurement apparatus accordingto the present invention. This X-ray measurement apparatus 41 has aspecimen platform 43 for supporting a specimen 42; an X-ray tube 44 forgenerating X-rays that are irradiate to the specimen 42; and an X-raydetector 46 for detecting X-ray that emerges from the specimen 42, e.g.,diffracted X-ray. The X-ray tube 44 and the X-ray detector 46 aresupported by a goniometer 47.

The goniometer 47 controls both a visual angle θ of the X-ray tube 44 inrelation to the specimen 42 and a visual angle θ1 of the X-ray detector46 in relation to the specimen 42. Normally, θ=θ1 in terms of absolutevalues. The visual angle θ of the X-ray tube 44 is an angle at which theX-rays emitted from the X-ray tube 44 are incident on the specimen 42(i.e., an “X-ray incident angle”). The goniometer 47 changes the X-rayincident angle θ at a desired angular velocity, and controls the visualangle θ1 of the X-ray detector 46 so that an angle 2θ of the X-raydetector 46 in relation to an optical axis X1 of the incident X-ray ismaintained at an angle that is twice as large as the X-ray incidentangle θ. The angle 2θ of the X-ray detector 46 in relation to theoptical axis X1 of the incident X-ray is an angle at which refractedX-rays emerging from the specimen 42 can be detected. This angle 2θ istherefore referred to as a diffraction angle.

The goniometer 47 has an incident-side angle-measuring part formeasuring the value of θ, which relates to the X-ray tube 44; and areceiving-side angle-measuring part for measuring the value of θ1, whichrelates to the X-ray detector 46. The incident-side angle-measuring parthas a rotary stage 2 a, which functions as a moving body; anincident-side arm member 48 for supporting the X-ray tube 44 extendingfrom the rotary stage 2 a; and a motion control system 1 a for causingthe rotary stage 2 a to move (i.e., rotate) by a desired amount ofmovement (i.e., rotation angle).

The receiving-side angle-measuring part has a rotary stage 2 b, whichfunctions as a moving body; a receiving-side arm member 49 forsupporting the X-ray detector 46 extending from the rotary stage 2 b;and a motion control system 1 b for causing the rotary stage 2 b to move(i.e., rotate) by a desired amount of movement (i.e., rotation angle).

The configuration of the combination between the rotary stage 2 a andthe motion control system 1 a forming the incident-side angle-measuringpart is identical to the configuration of the embodiment describedusing, e.g., FIGS. 1, 11, and 12. The configuration of the combinationbetween the rotary stage 2 b and the motion control system 1 b formingthe receiving-side angle-measuring part is also identical. The aboveconfiguration makes it possible to cause each of the X-ray tube 44 andthe X-ray detector 46 to rotate by a desired, angle in an extremelyaccurate manner. As a result, it is possible to perform X-raydiffraction measurement that is extremely reliable.

Other Embodiments

Although the present invention has been described above with referenceto preferred embodiments, the present invention is not limited in scopeby the above embodiments, and a variety of modifications are possiblewithin the scope of the invention described in the claims.

In the embodiments described above, an arrangement comprising fourreading heads shown in FIG. 2C and an arrangement comprising eightreading heads shown in FIG. 2F are used as configurations of thearrangement of the reading heads. However, the configuration of thearrangement of the plurality of reading heads is not limited to thosedescribed, and is set as desired according to requirement. For example,an arrangement comprising two reading heads shown in FIG. 2A, anarrangement comprising three reading heads shown in FIG. 2B, anarrangement comprising six reading heads shown in FIG. 2E, or anotherarrangement can be used.

In the arrangement shown in FIG. 2A, two (i.e., a prime number of)reading heads 8 a, 8 b are arranged at regular angular intervals of180°. In the arrangement shown in FIG. 2B, three (i.e., a prime numberof) reading heads 8 a, 8 b, 8 c are arranged at regular angularintervals of 120°. In the arrangement shown in FIG. 2D, five (i.e., aprime number of) reading heads 8 a through 8 e are arranged at regularangular intervals of 72°. In the arrangement shown in FIG. 2E, two(i.e., a prime number of) reading heads 8 a, 8 b are arranged at regularangular intervals of 180°, and five reading heads 8 a, 8 b, 8 e, 8 f arearranged at regular angular intervals of 72°.

In the embodiments described above, the rotation angle of the rotarystage 2, which functions as a moving body, is treated as the amount ofmovement; and this amount of movement is controlled. However, thisarrangement is not provided by way of limitation. It is also possible tolimit the amount of linear movement of a linearly moving body in amechanical system for converting a rotational movement to a linearmovement using a ball screw or another screw shaft.

What is claimed is:
 1. A motion control system for moving a moving bodyby a desired amount of movement, the motion control system comprising:moving-body-driving means for moving the moving body; a scale providedon the moving body or on an object that moves integrally with the movingbody; a plurality of scale-detecting means for detecting the scale andoutputting a periodic wave signal; computation means for calculating anaverage value of the amount of movement based on values obtained byperforming interpolation on each of the output signals as periodic wavesignals from the scale-detecting means, and outputting the average valueof the amount of movement as a calibrated angle data signal; and controlmeans for controlling the moving-body-driving means based on thecalibrated angle data signal.
 2. The motion control system according toclaim 1, wherein the time between the computation means receiving theoutput from the scale-detecting means and the computation meansoutputting the calibrated angle data signal is 20 μs or less.
 3. Themotion control system according to claim 1, wherein the moving body is arotating body; the scale is provided directly around the moving body orprovided on an object that moves integrally with the moving body; andthe scale-detecting means are provided around the rotating body atregular intervals.
 4. The motion control system according to claim 1,wherein the scale-detecting means include, as a single group, n readingheads arranged at regular intervals (where n is 2, 3, 5, or anotherprime number); have a data storage table in which error components of ahigher order than an nth-order error component of the group are stored;and combine angle data obtained by the computation means with an errorcomponent stored in the data storage table.
 5. The motion control systemaccording to claim 4, wherein the scale-detecting means are configuredso as to include a plurality of groups of reading heads of differentvalues of n.
 6. The motion control system according to claim 5, whereineach of the groups of the scale-detecting means has at least one readinghead that also belongs to another group.
 7. The motion control systemaccording to claim 1, wherein the scale-detecting means output aperiodic wave signal which is an AB signal that includes an A-phase anda B-phase which are waves having different phases from each other. 8.The motion control system according to claim 1, wherein thescale-detecting means output a periodic wave signal which is an ABsignal that includes an A-phase, which is a cosine wave; and a B-phase,which is a sine wave; or an ABZ signal that includes, in addition to theA-phrase and the B-phrase, a Z-signal that represents a referenceposition.
 9. An X-ray measurement apparatus having a goniometer forcausing an X-ray source and an X-ray detector to rotate by apredetermined angle; wherein the goniometer has a first motion controlsystem configured from the motion control system according to claim 1,and a second motion control system configured from the motion controlsystem according to claim 1; the moving body included in the firstmotion control system and the second motion control system is a rotarystage that rotates about an axis passing through the rotary stage; theX-ray source is supported by the rotary stage included in the firstmotion control system; and the X-ray detector is supported by the rotarystage included in the second motion control system.